home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Maverick v4.01.adf / RequesterLibrary / RequesterLibrary.LZH / reqbase.i < prev   
Text File  |  1992-03-06  |  20KB  |  561 lines

  1.  
  2. ; reqlibrary.i (c) 1988/1989 reserved by Colin Fox and Bruce Dawson */
  3.  
  4.        IFND    REQ_LIBRARY_I
  5.  
  6. REQ_LIBRARY_I  SET     1
  7.  
  8.         INCDIR ":include/"
  9.                INCLUDE "intuition/intuition.i"
  10.  
  11.                INCLUDE "libraries/dos.i"
  12.                INCLUDE "libraries/dosextens.i"
  13.  
  14.                INCLUDE "exec/memory.i"
  15.                INCLUDE "exec/initializers.i"
  16.                INCLUDE "exec/alerts.i"
  17.  
  18. ReqVersion     EQU     1
  19.  
  20.  
  21. PairsSize      EQU     20
  22.  
  23.  STRUCTURE     GadgetBlock.,0          ;a boolean button style text gadget
  24.        STRUCT  gb_Gadget,gg_SIZEOF
  25.        STRUCT  gb_Border,bd_SIZEOF
  26.        STRUCT  gb_Pairs,PairsSize
  27.        STRUCT  gb_Text,it_SIZEOF
  28.        LABEL   gb_SIZEOF
  29.  
  30.  STRUCTURE     StringBlock.,0          ;a string gadget
  31.        STRUCT  sb_Gadget,gg_SIZEOF
  32.        STRUCT  sb_Info,si_SIZEOF
  33.        STRUCT  sb_Border,bd_SIZEOF
  34.        STRUCT  sb_Pairs,PairsSize
  35.        LABEL   sb_SIZEOF
  36.  
  37.  STRUCTURE     PropBlock.,0            ;a prop gadget
  38.        STRUCT  pb_Gadget,gg_SIZEOF
  39.        STRUCT  pb_Info,pi_SIZEOF
  40.        STRUCT  pb_Image,ig_SIZEOF
  41.        LABEL   pb_SIZEOF
  42.  
  43.  STRUCTURE     SliderBlock.,0          ;a slider (two arrows & a prop)
  44.        STRUCT  slb_ArrowUpLt,gg_SIZEOF
  45.        STRUCT  slb_ImageUpLt,ig_SIZEOF
  46.        STRUCT  slb_ArrowDnRt,gg_SIZEOF
  47.        STRUCT  slb_ImageDnRt,ig_SIZEOF
  48.        STRUCT  slb_Prop,pb_SIZEOF      ;this is at the end for REFRESH GLIST pu
  49. poses
  50.        LABEL   slb_SIZEOF
  51.  
  52.  STRUCTURE     TwoImageBlock,0
  53.        STRUCT  tib_Gadget,gg_SIZEOF
  54.        STRUCT  tib_Image1,ig_SIZEOF
  55.        STRUCT  tib_Image2,ig_SIZEOF
  56.        LABEL   tib_SIZEOF
  57.  
  58. ATTITUDEB      EQU     16      ;Bit# of the attitude bit.
  59.  
  60. HorizSlider    EQU     0<<ATTITUDEB    ;which way the slider stands
  61. VertSlider     EQU     1<<ATTITUDEB    ;This is so that it bypasses all gadget 
  62. lags.
  63.  
  64.  
  65.  
  66. ;         This structure is use with the TextRequester function.
  67.  
  68.  STRUCTURE TRStructure,0
  69.        APTR    TR_Text                 ;This is the message text, including pri
  70. tf() style formatting if desired.
  71.        APTR    TR_Controls             ;This is the address of the parameter li
  72. t, if printf() style formatting is used.
  73.        APTR    TR_Window               ;This is an optional (zero if not used) 
  74. ointer to a window on the screen you 
  75.                                        ;would like the requester to show up on.
  76.        APTR    TR_MiddleText           ;If non-zero, this is the text for the g
  77. dget in the lower middle (returns 2).
  78.        APTR    TR_PositiveText         ;If non-zero, this is the text for the g
  79. dget in the lower left hand corner (returns 1).
  80.        APTR    TR_NegativeText         ;If non-zero, this is the text for the g
  81. dget in the lower right (returns 0).
  82.        APTR    TR_Title                ;This is the title for the window.
  83.        WORD    TR_KeyMask              ;This is the qualifier mask for the keyb
  84. ard shortcuts.
  85.                                        ;Use $FFFF to allow any qualifiers (or n
  86. ne).
  87.                                        ;Zero means that no keyboard shortcuts a
  88. e allowed.
  89.        WORD    TR_textcolor            ;Color of the text.  Uses Color 1 if no 
  90. olor specified.
  91.        WORD    TR_detailcolor          ;Detail and block color, as in a NewWind
  92. w structure.  If
  93.        WORD    TR_blockcolor           ;both are left zero, block pen will be s
  94. t to 1.
  95.        WORD    TR_versionnumber        ;Make SURE this is set to zero.
  96.        LONG    TR_rfu1                 ;Make SURE you leave these two zeroed al
  97. o.
  98.        LONG    TR_rfu2                 ;Make SURE you leave these two zeroed al
  99. o.
  100.        LABEL   TR_SIZEOF
  101.  
  102. ;/* NOTE:
  103. ;
  104. ;    The  control  values  mentioned above are used if you choose to insert
  105. ;printf  style directives in your strings and should contain the address of
  106. ;a list of control parameters, usually on the stack.
  107. ;    */
  108.  
  109.  
  110.  
  111. ;         This structure is for use with the GetLong function.
  112.  
  113. GLNODEFAULTB   EQU     0       ;Set this bit in the flags if you don't want a d
  114. fault
  115.                                ;value to show up in the get long string gadget.
  116.  For
  117.                                ;some things this is much better than having a z
  118. ro
  119.                                ;show up.
  120.  
  121. GLNODEFAULTM   EQU     1<<GLNODEFAULTB
  122.  
  123.  STRUCTURE     GetLongStruct,0
  124.        APTR    gl_titlebar
  125.        LONG    gl_defaultval
  126.        LONG    gl_minlimit
  127.        LONG    gl_maxlimit
  128.        LONG    gl_result
  129.        APTR    gl_window
  130.        WORD    gl_versionnumber;       ;Make SURE this is set to zero.
  131.        LONG    gl_flags;               ;Some, uh flags.  See above for bit defi
  132. itions.
  133.        LONG    gl_rfu2;                ;Make SURE you leave these two zeroed al
  134. o.
  135.        LABEl   gl_SIZEOF
  136.  
  137.  
  138.  
  139. ;         Remember,   if  you  don't  want  to  go  through  the  hassle  of
  140. ; initializing a ExtendedColorRequester structure, you can always just call
  141. ; ColorRequester  (as opposed to ExtendedColorRequester).  ColorRequester
  142. ; just  takes  a  single  parameter, in D0, the color that should start out
  143. ; being highlit.  It returns a single value, the color that was selected at
  144. ; the end.
  145.  
  146. ;         This structure is for use with the ExtendedColorRequester (_not_,
  147. ; the ColorRequester) function.
  148.  
  149.  STRUCTURE     ExtendedColorRequesterStruct,0
  150.        LONG    ecr_defcolor            ;The color that is initially highlit.
  151.        APTR    ecr_window              ;The window the 'requester' opens up in 
  152. zero normally).
  153.        LONG    ecr_rfu1                        ;Who knows what these will be us
  154. d for,
  155.        LONG    ecr_rfu2                        ;but I'm sure we'll think of som
  156. thing.
  157.        LONG    ecr_rfu3                        ;Until then, just keep these zer
  158. ed.
  159.        LONG    ecr_rfu4                        ;Okay?
  160.        LONG    ecr_rfu5
  161.        LABEL   ecr_SIZEOF
  162.  
  163.  
  164.  
  165.        IFND    DSIZE
  166. DSIZE          EQU     130
  167. FCHARS         EQU     30
  168.        ENDC
  169. WILDLENGTH     EQU     30
  170.  
  171. FRQSHOWINFOB   EQU     0       ;Set this in Flags if you want .info files to sh
  172. w.  They default to hidden.
  173. FRQEXTSELECTB  EQU     1       ;Set this in Flags if you want extended select. 
  174. Default is not.
  175. FRQCACHINGB    EQU     2       ;Set this in Flags if you want directory caching
  176.   Default is not.
  177. FRQGETFONTSB   EQU     3       ;Set this in Flags if you want a font requester 
  178. ather than a file requester.
  179. FRQINFOGADGETB EQU     4       ;Set this in Flags if you want a hide-info files
  180. gadget.
  181. FRQHIDEWILDSB  EQU     5       ;Set this in Flags if you DON'T want 'show' and 
  182. hide' string gadgets.
  183. FRQABSOLUTEXYB EQU     6       ;Use absolute x,y positions rather than centerin
  184.  on mouse.
  185. FRQCACHEPURGEB EQU     7       ;Purge the cache whenever the directory date sta
  186. p changes if this is set.
  187. FRQNOHALFCACHEB        EQU     8       ;Don't cache a directory unless it is co
  188. pletely read in when this is set.
  189. FRQNOSORTB     EQU     9       ;Set this in Flags if you DON'T want sorted dire
  190. tories.
  191. FRQNODRAGB     EQU     10      ;Set this in Flags if you DON'T want a drag bar 
  192. nd depth gadgets.
  193. FRQSAVINGB     EQU     11      ;Set this bit if you are selecting a file to sav
  194.  to.
  195. FRQLOADINGB    EQU     12      ;Set this bit if you are selecting a file(s) to 
  196. oad from.
  197.                                ;These two bits (save and load) aren't currently
  198. used for
  199.                                ;anything, but they may be in the future, so you
  200. should
  201.                                ;remember to set them.  Also, these bits make it
  202. easier if
  203.                                ;somebody wants to customize the file requester 
  204. or their
  205.                                ;machine.  They can make it behave differently f
  206. r loading
  207.                                ;vs saving.
  208.  
  209. FRQSHOWINFOM   EQU     1<<FRQSHOWINFOB
  210. FRQEXTSELECTM  EQU     1<<FRQEXTSELECTB
  211. FRQCACHINGM    EQU     1<<FRQCACHINGB
  212. FRQGETFONTSM   EQU     1<<FRQGETFONTSB
  213. FRQINFOGADGETM EQU     1<<FRQINFOGADGETB
  214. FRQHIDEWILDSM  EQU     1<<FRQHIDEWILDSB
  215. FRQABSOLUTEXYM EQU     1<<FRQABSOLUTEXYB
  216. FRQCACHEPURGEM EQU     1<<FRQCACHEPURGEB
  217. FRQNOHALFCACHEM        EQU     1<<FRQNOHALFCACHEB
  218. FRQNOSORTM     EQU     1<<FRQNOSORTB
  219. FRQNODRAGM     EQU     1<<FRQNODRAGB
  220. FRQSAVINGM     EQU     1<<FRQSAVINGB
  221. FRQLOADINGM    EQU     1<<FRQLOADINGB
  222.  
  223.  
  224.  STRUCTURE     ESStructure,0           ;ExtendedSelectStructure
  225.                LONG    es_NextFile     ;This must be the first element!
  226.                WORD    es_NameLength   ;File name length, not including the ter
  227. inating zero.
  228.                WORD    es_Pad
  229.                APTR    es_Node         ;Node that the user has extended selecte
  230. .
  231.                LABEL   es_SIZEOF
  232.  
  233. ;         When  using  extended  select,  the  directory pointer is required
  234. ; since  only  the  file  names  are stored in the frq_ExtendedSelect linked
  235. ; list.   When  not  using  extended select, you can either have frq_Dir and
  236. ; frq_File  point  be initialized, or you can have frq_PathName initialized,
  237. ; or  both.   frq_PathName will contain the concatenation of the file and
  238. ; directory chosen.
  239.  
  240.  STRUCTURE     .FileRequester,0
  241.        UWORD   frq_VersionNumber               ;MUST BE ZERO!!!!!!!!!!!!!!!!!!
  242.  
  243.        ;You will probably want to initialize these three variables.
  244.        APTR    frq_Title                       ; Hailing text
  245.        APTR    frq_Dir                         ; Directory array (must be DSIZE
  246. 1 characters long)
  247.        APTR    frq_File                        ; Filename array (must be FCHARS
  248. 1 characters long)
  249.        ;If you initialize this variable then the file requester will place the 
  250. omplete path name in here on exit.
  251.        APTR    frq_PathName                    ; Complete path name array - (mu
  252. t be DSIZE+FCHARS+2 long)
  253.        ;If you want the file requester to pop up on your custom screen, put one
  254. of your window pointers here.
  255.        ;Or better yet, you can leave this field zeroed and put a pointer to one
  256. of your windows in the
  257.        ;pr_WindowPtr field in your process structure.
  258.        APTR    frq_Window                      ; Window requesting or NULL
  259.        ;Initialize these to the number of lines and columns you want to appear 
  260. n the inner window that
  261.        ;displays the file names.  If you leave these set to zero then default v
  262. lues will be used.
  263.        UWORD   frq_MaxExtendedSelect           ; Zero implies a maximum of 6553
  264. , as long as FRQEXTSELECT is set.
  265.        UWORD   frq_numlines                    ; Number of lines in file window
  266.  
  267.        UWORD   frq_numcolumns                  ; Number of columns in file wind
  268. w.
  269.        UWORD   frq_devcolumns                  ; Number of columns in device wi
  270. dow.
  271.        ULONG   frq_Flags                       ; Various - umm - flags.  See ab
  272. ve for more info.
  273.        UWORD   frq_dirnamescolor       ;These five colors will all default
  274.        UWORD   frq_filenamescolor      ;to color one if you don't specify
  275.        UWORD   frq_devicenamescolor    ;a color (ie; if you specify color zero)
  276.  
  277.        UWORD   frq_fontnamescolor      ;If you want color zero to be used, spec
  278. fy
  279.        UWORD   frq_fontsizescolor      ;color 32, or some other too large numbe
  280.  
  281.                                        ;which mods down to zero.
  282.  
  283.        UWORD   frq_detailcolor         ;If both of these colors are specified a
  284.  
  285.        UWORD   frq_blockcolor          ;zero then the block pen will be set to 
  286. ne.
  287.  
  288.        UWORD   frq_gadgettextcolor     ;The color for the text of the five bool
  289. an gadgets.  Defaults to 1.
  290.        UWORD   frq_textmessagecolor    ;The color for the message at the screen
  291. top.  Defaults to 1.
  292.        UWORD   frq_stringnamecolor     ;The color for the words Drawer, File, H
  293. de and Show.  Defaults to 3.
  294.        UWORD   frq_stringgadgetcolor   ;The color for the borders of the string
  295. gadgets.  Defaults to 3.
  296.                                        ;Unfortunately it is not possible to spe
  297. ify
  298.                                        ;the color of the actual text in an Intu
  299. tion
  300.                                        ;string gadget.
  301.        UWORD   frq_boxbordercolor      ;The color for the boxes around the file
  302. and directory areas.  Defaults to 3.
  303.        UWORD   frq_gadgetboxcolor      ;The color for the boxes around the five
  304. boolean gadgets.  Defaults to 3.
  305.  
  306.        STRUCT  frq_RFU_Stuff,36                ;This area, which is reserved fo
  307.  
  308.                                                ;future use, should all be zero.
  309.  
  310.        STRUCT  frq_DirDateStamp,ds_SIZEOF      ; A copy of the cached directori
  311. s date stamp.
  312.                                                ; There should never be any need
  313. to change this.
  314.  
  315.        UWORD   frq_WindowLeftEdge;             ;These two fields are only used 
  316. hen the
  317.        UWORD   frq_WindowTopEdge;              ;FRQABSOLUTEXY flag is set.  The
  318.  specify
  319.                                                ;the location of the upper left 
  320. and
  321.                                                ;corner of the window.
  322.  
  323.        UWORD   frq_FontYSize                   ;These fields are used to return
  324. the selected
  325.        UWORD   frq_FontStyle                   ;font size and style, only appli
  326. able when the
  327.                                                ;font bit is set.
  328.  
  329.        ;If you set the extended select bit and the user extended selects, the l
  330. st of filenames will start from here.
  331.        APTR    frq_ExtendedSelect              ; Linked list of ESStructures if
  332. more than one filename is chosen.
  333.        ;All of the following variables you shouldn't need to touch.  They conta
  334. n fields that the file
  335.        ;requester sets and likes to preserve over calls, just to make life easi
  336. r for the user.
  337.        STRUCT  frq_Hide,WILDLENGTH+2           ; Wildcards for files to hide.
  338.        STRUCT  frq_Show,WILDLENGTH+2           ; Wildcards for files to show.
  339.        WORD    frq_FileBufferPos               ; Cursor's  position  and first
  340.        WORD    frq_FileDispPos                 ; displayed character number in
  341.        WORD    frq_DirBufferPos                ; the three string gadgets.  No
  342.        WORD    frq_DirDispPos                  ; need  to initialized these if
  343.        WORD    frq_HideBufferPos               ; you don't want to.
  344.        WORD    frq_HideDispPos
  345.        WORD    frq_ShowBufferPos
  346.        WORD    frq_ShowDispPos
  347.  
  348. ;         The  following  fields are PRIVATE!  Don't go messing with them or
  349. ; wierd  things may/will happen.  If this isn't enough of a warning, go read
  350. ; the one in intuition.h, that should scare you off.
  351.  
  352.        APTR    frq_Memory                      ; Memory allocated for dir entri
  353. s.
  354.        APTR    frq_Memory2                     ; Used for currently hidden file
  355. .
  356.        APTR    frq_Lock                        ; Contains lock on directories b
  357. ing read across calls.
  358.        STRUCT  frq_PrivateDirBuffer,DSIZE+2    ; Used for keeping a record of w
  359. ich
  360.                                                ; directory we have file names f
  361. r.
  362.        APTR    frq_FileInfoBlock
  363.        WORD    frq_NumEntries
  364.        WORD    frq_NumHiddenEntries
  365.        WORD    frq_filestartnumber
  366.        WORD    frq_devicestartnumber
  367.        LABEL   frq_SIZEOF
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375. ;         This is used with the RealTimeScroll function.
  376.  
  377.  STRUCTURE     ScrollStruct,0
  378.        ULONG   ss_TopEntryNumber       ;This is the ordinal number of the first
  379.                                        ;displayed entry.
  380.        ULONG   ss_NumEntries           ;This is the total number of entries in
  381.                                        ;the list.
  382.        UWORD   ss_LineSpacing          ;This is how many pixels high each entry
  383. is.
  384.        ULONG   ss_NumLines             ;This is how many entries can be display
  385. d simultaneously.
  386.        APTR    ss_PropGadget           ;This is a pointer to the prop gadget be
  387. ng monitored.
  388.  
  389.        APTR    ss_RedrawAll            ;This routine is used to redraw all of t
  390. e
  391.                                        ;entries when the user moves far enough
  392.                                        ;that scrolling will take too long.
  393.  
  394.        APTR    ss_ReadMore             ;An optional routine that is called when
  395.                                        ;the scroll routine is waiting for movem
  396. nt.
  397.                                        ;This allows reading of new data while r
  398. al
  399.                                        ;time scrolling.
  400.        APTR    ss_ScrollAndDraw        ;This routine is called when the data ne
  401. ds
  402.                                        ;to be scrolled and updated.  This routi
  403. e is
  404.                                        ;passed four long parameters (on the sta
  405. k and
  406.                                        ;in D0-D3) which are, respectively:
  407.                                        ;D0 - entry number of first line to be d
  408. awn.
  409.                                        ;D1 - pixel offset to draw first line at
  410.  
  411.                                        ;D2 - amount to scroll before doing any 
  412. rawing.
  413.                                        ;D3 - number of lines of data to draw.
  414.        WORD    versionnumber           ;Make SURE this is set to zero.
  415.        LONG    rfu1                    ;Make SURE you leave these two zeroed al
  416. o.
  417.        LONG    rfu2                    ;Make SURE you leave these two zeroed al
  418. o.
  419.        LABEL   ss_SIZEOF
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  STRUCTURE     Arrows,0
  426.        STRUCT  ArrowUp,20
  427.        STRUCT  ArrowDown,20
  428.        STRUCT  ArrowLeft,18
  429.        STRUCT  ArrowRight,18
  430.        STRUCT  Letter_R,20
  431.        STRUCT  Letter_G,20
  432.        STRUCT  Letter_B,20
  433.        STRUCT  Letter_H,20
  434.        STRUCT  Letter_S,20
  435.        STRUCT  Letter_V,20
  436.        LABEL   chipstuff_SIZEOF
  437.  
  438. ; These are the positions relative to the rl_Images pointer.
  439. ;ie
  440. ;      MOVE.L  rl_Images(A6),A0
  441. ;      ADD.L   #ArrowLeft,A0           ;A0 now points at the left arrow.
  442.  
  443.  
  444.  STRUCTURE     ReqLib,LIB_SIZE
  445.        APTR    rl_SysLib
  446.        APTR    rl_DosLib               ;These must be kept in the same order,
  447.        APTR    rl_IntuiLib             ;the library expunge code depends on it.
  448.        APTR    rl_GfxLib               ;
  449.        APTR    rl_SegList
  450.        APTR    rl_Images               ;pointer to the arrow images.
  451.        BYTE    rl_Flags
  452.        BYTE    rl_Pad
  453.        APTR    rl_ConsoleDev           ;for RawKeyToAscii
  454.        APTR    rl_ConsoleHandle        ;so we can close the device later
  455.        LABEL   MyLib_Sizeof
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.        LIBINIT
  463.        LIBDEF  _LVOCenter
  464.  
  465.        LIBDEF  _LVOSetSize
  466.        LIBDEF  _LVOSetLocation
  467.        LIBDEF  _LVOReadLocation
  468.  
  469.        LIBDEF  _LVOFormat
  470.  
  471.        LIBDEF  _LVOFakeFunction1       ;Old function.  Don't use.
  472.        LIBDEF  _LVOFakeFunction2       ;Old function.  Don't use.
  473.  
  474.        LIBDEF  _LVOFakeFunction3       ;Old function.  Don't use.
  475.        LIBDEF  _LVOFakeFunction4       ;Old function.  Don't use.
  476.  
  477.        LIBDEF  _LVOFileRequester
  478.  
  479.        LIBDEF  _LVOColorRequester
  480.  
  481.        LIBDEF  _LVODrawBox
  482.  
  483.        LIBDEF  _LVOMakeButton
  484.        LIBDEF  _LVOMakeScrollBar
  485.  
  486.        LIBDEF  _LVOPurgeFiles
  487.  
  488.        LIBDEF  _LVOGetFontHeightAndWidth
  489.  
  490.        LIBDEF  _LVOMakeGadget
  491.        LIBDEF  _LVOMakeString
  492.        LIBDEF  _LVOMakeProp
  493.  
  494.        LIBDEF  _LVOLinkGadget
  495.        LIBDEF  _LVOLinkStringGadget
  496.        LIBDEF  _LVOLinkPropGadget
  497.  
  498.        LIBDEF  _LVOGetString
  499.  
  500.        LIBDEF  _LVORealTimeScroll
  501.  
  502.        LIBDEF  _LVOTextRequest
  503.  
  504.        LIBDEF  _LVOGetLong
  505.  
  506.        LIBDEF  _LVORawKeyToAscii
  507.  
  508.        LIBDEF  _LVOExtendedColorRequester
  509.  
  510.  
  511.  
  512. REQNAME        MACRO
  513.        DC.B    'req.library',0
  514.        ENDM
  515.  
  516. ; This macro will open the RequesterLibrary for you. At the end, A6 will
  517. ;contain the library and D0/A0 will be correct. (What dos passed you)
  518.  
  519. OpenReq        MACRO
  520.        BRA.S   opnrq
  521.  
  522. dname  DC.B    'dos.library',0
  523. rlibmsg        DC.B    'You need V1+ of '
  524. ReqName        REQNAME
  525.        DC.B    10,13,0
  526. ;;;rliblng     EQU     *-rlibmsg
  527. rliblng        EQU     30
  528.        DS.W    0
  529.        EVEN
  530.  
  531. opnrq:
  532.        MOVEM.L d0/a0,-(sp)
  533.        MOVE.L  4,A6
  534.        LEA.L   ReqName,a1
  535.        MOVEQ.L #ReqVersion,d0
  536.        SYS     OpenLibrary
  537.        TST.L   d0
  538.        BNE.S   itsokay
  539.        LEA     dname,A1
  540.        SYS     OpenLibrary
  541.        TST.L   D0
  542.        BEQ.S   1$
  543.        MOVE.L  D0,A6
  544.        SYS     Output
  545.        MOVE.L  d0,d1
  546.        BEQ.S   1$                      ;No output. Phooey.
  547.        MOVE.L  #rlibmsg,d2             ;Tell user he needs to find library.
  548.        MOVE.L  #rliblng,D3
  549.        SYS     Write
  550. 1$:    ADDQ    #8,sp
  551.        RTS
  552.  
  553. itsokay:
  554.        MOVE.L  D0,A6
  555.        MOVEM.L (SP)+,D0/A0
  556.        ENDM
  557.  
  558.  
  559.  
  560.        ENDC
  561.